package main

import (
	"fmt"
	"time"
)

func running() {

	var times int
	for {
		times++
		fmt.Println("tick", times)
		time.Sleep(time.Second)
	}

}

func main() {

	// 并发执行程序
	go running()
	go func() {
		fmt.Println("Hello, World!")
	}()
	time.Sleep(time.Second * 10)

}
// main函数本身也是一个 goroutine
// 所有 goroutine 在 main() 函数结束时会一同结束
// goroutine 是一种非常轻量级的实现，可在单个进程里执行成千上万的并发任务，它是Go语言并发设计的核心
// channel 是Go语言在语言级别提供的 goroutine 间的通信方式。
// 我们可以使用 channel 在两个或多个 goroutine 之间传递消息
